package leetcode.code0010;

import leetcode.IDebug;
import leetcode.helper.HelpDebug;

public abstract class Solution10 implements IDebug {

	public abstract boolean isMatch(String s, String p);

	@Override
	public void debug1() {
		String str1 = "aa";
		String str2 = "a";
		boolean e = false;
		debug(str1, str2, e);
	}

	private void debug(String str1, String str2, boolean e) {
		boolean r = this.isMatch(str1, str2);
		HelpDebug.compare(e, r);
	}

	@Override
	public void debug2() {
		String str1 = "aa";
		String str2 = "a*";
		boolean e = true;
		debug(str1, str2, e);
	}

	@Override
	public void debug3() {
		String str1 = "ab";
		String str2 = ".*";
		boolean e = true;
		debug(str1, str2, e);
	}

	@Override
	public void debug4() {
		String str1 = "aab";
		String str2 = "c*a*b";
		boolean e = true;
		debug(str1, str2, e);
	}

	public void debug5() {
		String str1 = "mississippi";
		String str2 = "mis*is*p*.";
		boolean e = false;
		debug(str1, str2, e);
	}

	public void myBug1() {
		String str1 = "aaa";
		String str2 = "ab*a*c*a";
		boolean e = true;
		debug(str1, str2, e);
	}

	public void myBug2() {
		String str1 = "aaa";
		String str2 = ".*";
		boolean e = true;
		debug(str1, str2, e);
	}

	public void myBug3() {
		String str1 = "aaa";
		String str2 = ".a";
		boolean e = false;
		debug(str1, str2, e);
	}

	public void myBug4() {
		String str1 = "a";
		String str2 = ".*..a*";
		boolean e = false;
		debug(str1, str2, e);
	}

	public void myBug5() {
		String str1 = "ab";
		String str2 = ".*..";
		boolean e = true;
		debug(str1, str2, e);
	}

	public void myBug6() {
		String str1 = "aaabaaaababcbccbaab";
		String str2 = "c*c*.*c*a*..*c*";
		boolean e = true;
		debug(str1, str2, e);
	}

	public void myBug7() {
		String str1 = "aaa";
		String str2 = "ab*a";
		boolean e = false;
		debug(str1, str2, e);
	}

	public void myBug8() {
		String str1 = "aaba";
		String str2 = "ab*a*c*a";
		boolean e = false;
		debug(str1, str2, e);
	}

	public void myBug9() {
		String str1 = "aaa";
		String str2 = "a*";
		boolean e = true;
		debug(str1, str2, e);
	}

	public void myBug10() {
		String str1 = "aaaaa";
		String str2 = "a.*";
		boolean e = true;
		debug(str1, str2, e);
	}

}
